#ifndef PACKAGERUI_H
#define PACKAGERUI_H

#include <QWidget>
#include<QGroupBox>
#include<QGridLayout>
#include<QLabel>
#include<QComboBox>
#include<QLineEdit>
#include<QPushButton>
#include<QTableWidget>
#include<QTextEdit>
#include<QStackedLayout>
#include<QStackedWidget>
#include<QIcon>
#include<QMenu>
#include<QAction>
#include<QHeaderView>
#include<QButtonGroup>
#include<QDebug>
#include<QToolButton>
class PackagerUI : public QWidget
{
    Q_OBJECT
public:
    explicit PackagerUI(QWidget *parent = 0);

    QWidget *PackageWidget;
    QComboBox *ChooseModel;
    QPushButton *openOMS;
    QLabel *projectPathLabel;
    QLineEdit *ProjectPath;
    QLabel *ProjectRelativePathLabel;
    QLineEdit *ProjectRelativePath;
    QPushButton *setConversionMethods;
    QLineEdit *ModelInputParameter;
    QPushButton *ChooseLibs;
    QPushButton *LibItemsRemove;
    QTableWidget *LibNamesTable;
    QPushButton *AddHardwareConItem;
    QPushButton *HardConRemove;
    QTableWidget *HardConTable;
    QPushButton *AddSoftEnvirItem;
    QPushButton *SoftEnvirRemove;
    QTableWidget *SoftEnvirTable;
    QPushButton *AddTestDataItem;
    QPushButton *TestDataRemove;
    QTableWidget *TestDataList;
    QPushButton *AddSuportResItem;
    QPushButton *SuportResRemove;
    QTableWidget *SuportResList;
    QComboBox *ChooseLicense;
    QTextEdit *LicenseTextArea;
    QPushButton *GenerateScript;
    QPushButton *GeneratePackage;
    QLineEdit *ModelLibs;
    QStackedWidget *MainStackWidget;
    QPushButton *previousButton;
    QPushButton *nextButton;
    QButtonGroup *mButtonsGroup;


signals:
    void changeWidget(int);
    void sendStateInfo(QString);
    void preview_clicked(int);

public slots:
    void previousButton_clicked();
    void nextButton_clicked();

private:


    void initWidget();
    void initTableStyle(QStringList headerLabels,QTableWidget *dataTable);
    void changeButtonGroup(int);
private slots:
    void on_ButtonGroup_click(int mIndex);
    void on_PreviewButton_click();
};

#endif // PACKAGERUI_H
